<?php

namespace App\Model;
use Illuminate\Database\Eloquent\Model;

class AdminRole extends Model
{
    protected $table = "admin_roles";
    protected $fillable = [
        'id',
        'name',
        'description',
    ]; 

    /*
     * 当前角色的所有权限
     */
    public function permissions()
    {
        return $this->belongsToMany(\App\Model\AdminPermission::class, 'admin_permission_role', 'permission_id', 'role_id')->withPivot(['permission_id', 'role_id']);
    }

    /*
     * 给角色授权
     */
    public function grantPermission($permission)
    {
        return $this->permissions()->save($permission);
    }

    /*
     * 删除role和permission的关联
     */
    public function deletePermission($permission)
    {
        return $this->permissions()->detach($permission);
    }

    /*
     * 角色是否有权限
     */
    public function hasPermission($permission)
    {
        
        return $this->permissions->contains($permission);
    }
}
